var MongoClient=require('mongodb').MongoClient;
var url='mongodb://127.0.0.1:27017/product'
var ObjectID=require('mongodb').ObjectID

function _connectDb(callback){
    MongoClient.connect(url,(err,db)=>{
        var dbo=db.db('product')
        if(err){
            console.log('连接数据库失败')
            return;
        }
        //查找 增加 更新 删除

        callback(dbo,db)

    })
}

//查找数据
//db.proudct.find({'username':'admin'})
exports.find=(collectname,json,callback)=>{
    _connectDb((dbo,db)=>{
      var result=dbo.collection(collectname).find(json)
      result.toArray((error,data)=>{
        db.close() 
        callback(error,data) /**拿到数据就执行回调函数 */
      })
    })
}

//增加数据
exports.insert=(collectname,json,callback)=>{
    _connectDb((dbo,db)=>{
    dbo.collection(collectname).insertOne(json,(error,data)=>{
        db.close()
        callback(error,data)
        })

    })
}

//更新数据
exports.update=(collectname,json1,json2,callback)=>{
    _connectDb((dbo,db)=>{
     dbo.collection(collectname).updateOne(json1,{$set:json2},function(error,data){
        db.close() 
        callback(error,data)

     })
    })
}

//删除数据
exports.deleteOne=(collectname,json,callback)=>{
    _connectDb((dbo,db)=>{
        dbo.collection(collectname).deleteOne(json,function(error){
            db.close()
            callback(error)
        })
    })
}

//mongodb数据每一个ID都有ObjectID属性
exports.ObjectID=ObjectID